package com.itheima.demo.config;

import com.itheima.demo.web.FirstServlet;
import com.itheima.demo.web.MyFilter;
import com.itheima.demo.web.MyListener;
import com.itheima.demo.web.SecondServlet;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Arrays;
@Configuration
/*@AutoConfiguration*/
public class WebConfigure {
/*    @Bean("firstServlet")
    public FirstServlet firstServlet() {
        return new FirstServlet();
    }

    @Bean
    public SecondServlet secondServlet() {
        return new SecondServlet();
    }

    @Bean
    public MyFilter myFilter() {
        return new MyFilter();
    }

    @Bean
    public MyListener myListener() {
        return new MyListener();
    }
}*/
    @Bean
    public ServletRegistrationBean fistServlet(){
        return  new ServletRegistrationBean(new FirstServlet(),"/first");
    }
    @Bean
    public ServletRegistrationBean secondServlet(){
        return  new ServletRegistrationBean(new SecondServlet(),"/second");
    }
    @Bean
    public FilterRegistrationBean myFilter(){
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new MyFilter());
        filterRegistrationBean.setUrlPatterns(Arrays.asList("/first"));
        return  filterRegistrationBean;
    }
    @Bean
    public ServletListenerRegistrationBean myListener(){
        return  new ServletListenerRegistrationBean(new MyListener());
    }
}
